// [[ OnflowGenerator File UUID: 0d39536eb5cd483d85c86fe010830598  ]]
package com.itdct.onflow.system.message.mapper;

import com.itdct.onflow.core.mapper.BaseMapper;
import com.itdct.onflow.core.vo.KeyLabelValueVo;
import com.itdct.onflow.system.message.entity.SysMessageEntity;
import com.itdct.onflow.system.message.qo.SysMessageSearchQo;
import com.itdct.onflow.system.message.vo.SysMessageDetailVo;
import com.itdct.onflow.system.message.vo.SysMessageListVo;
import com.itdct.onflow.system.message.vo.SysMessageNotReadCountVo;

import org.apache.ibatis.annotations.Mapper;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.List;

/**
 * @author DCTANT
 * @date 2025-09-18 17:04:07
 * @version 1.0
 * @description 系统站内信查询工具
 */
@Mapper
public interface SysMessageMapper extends BaseMapper<SysMessageEntity> {
    @Nullable
    SysMessageDetailVo findById(Long id);

    @NotNull
    List<SysMessageListVo> findByList(SysMessageSearchQo qo);

    // [[ OnflowGenerator Range (- selectFunctions -) Start ]]
    @NotNull
    List<KeyLabelValueVo> selectTitleList(SysMessageSearchQo qo);

    void myAllRead(long accountId);

    void myMarkRead(long accountId, long id);

    @Nullable SysMessageNotReadCountVo notReadCount(long accountId, String platformType);

// [[ OnflowGenerator Range (- selectFunctions -) End ]]

}
